x11: Fix getting the primary monitor
authorMatthias Clasen <mclasen@redhat.com>
Sat, 8 Aug 2020 14:17:06 +0000 (10:17 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 8 Aug 2020 15:48:32 +0000 (11:48 -0400)
Actually return the primary monitor.

Fixes: #3038
gdk/x11/gdkdisplay-x11.c

index 414d6dc63ef050a58fef226d659345e6c4d7b3ab..269ae2882917cf848bad0b81f0478caff98abf03 100644 (file)
@@ -2859,15 +2859,14 @@ gdk_x11_display_get_primary_monitor (GdkDisplay *display)
   GdkX11Display *self = GDK_X11_DISPLAY (display);
   GdkMonitor *monitor;
 
-  if (0 <= self->primary_monitor)
-    return NULL;
-
   monitor = g_list_model_get_item (G_LIST_MODEL (self->monitors), self->primary_monitor);
   if (monitor == NULL)
-    return NULL;
+    monitor = g_list_model_get_item (G_LIST_MODEL (self->monitors), 0);
 
   /* because g_list_model_get_item() returns a ref */
-  g_object_unref (monitor);
+  if (monitor)
+    g_object_unref (monitor);
+
   return monitor;
 }